Skip to content

Comments

docs: Tweaks to Your First Model#787

Merged
swo merged 5 commits intomainfrom
swo_example
Feb 20, 2026
Merged

docs: Tweaks to Your First Model#787
swo merged 5 commits intomainfrom
swo_example

Conversation

@swo
Copy link
Contributor

@swo swo commented Feb 19, 2026

  • DRY: use #rustdoc_include where possible
  • Consistency in the population size constant
  • Move toward using "entity" over "agent" -- This was not an exhaustive effort; just a target of opportunity thing.
  • Make the "this isn't SIR" explanation a bit clearer and more visible
  • Clarify the model setup
    • Explain how the model as initially described (each person has an independent time to infection) maps onto the implementation here (there are infection attempts)
    • An alternative would be to pre-schedule all the infections, as per docs: Pre-schedule all infections #788, although I suspect that's not great for this first example?
    • Draw inter-infection-attempt times from Exp::new(FORCE_OF_INFECTION * POPULATION). The existing approach definitely works: if $X \sim \mathrm{Exp}(\lambda)$, then $\frac{X}{a} \sim \mathrm{Exp}(a \lambda)$, but this approach is a little more intuitive and it avoids the precision loss thing.
  • Gave some hints in the exercises section, and made the 3rd exercise align better with the foodborne illness theme.
  • Ignore incidence.csv produced by first_model

github-actions bot added a commit that referenced this pull request Feb 19, 2026
github-actions bot added a commit that referenced this pull request Feb 19, 2026
github-actions bot added a commit that referenced this pull request Feb 19, 2026
github-actions bot added a commit that referenced this pull request Feb 19, 2026
@github-actions

This comment was marked as off-topic.

github-actions bot added a commit that referenced this pull request Feb 19, 2026
@swo swo marked this pull request as ready for review February 19, 2026 22:42
@CDCgov CDCgov deleted a comment from github-actions bot Feb 20, 2026
@CDCgov CDCgov deleted a comment from github-actions bot Feb 20, 2026
@CDCgov CDCgov deleted a comment from github-actions bot Feb 20, 2026
@CDCgov CDCgov deleted a comment from github-actions bot Feb 20, 2026
@RobertJacobsonCDC
Copy link
Collaborator

  • Move toward using "entity" over "agent" -- This was not an exhaustive effort; just a target of opportunity thing.

I defer to the experts for the language that is most appropriate to our audience here.

But my understanding is that not all entities are agents, at least as the word entity is used in Ixa. We might have the Person entity that serves the role of agent, and then we might have other entities that serve as data sources but that aren't technically agents. A Setting entity might hold geographical data, an $\alpha$ influencing infection hazard, etc.; A Region entity might hold information about region-specific interventions / policy. Right?

Copy link
Collaborator

@RobertJacobsonCDC RobertJacobsonCDC left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent! Thank you so much!

@swo
Copy link
Contributor Author

swo commented Feb 20, 2026

But my understanding is that not all entities are agents, at least as the word entity is used in Ixa. We might have the Person entity that serves the role of agent, and then we might have other entities that serve as data sources but that aren't technically agents.

Definitely agree. I've heard people mostly use a "weak" agent definition, which would encompass Person but not Region, and but some are passionate about a "strong" agent definition, which restricts "agent" to a thing that executes some kind of local decision-making. A Person who mindlessly infects and is infected would not qualify under that standard. I like "entity" because it avoids this hair-splitting.

@swo swo merged commit 1c6b42f into main Feb 20, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants